1. Technical Field
The present invention relates to an image forming apparatus such as a printer or a multi-functional apparatus that executes an image drawing processing for output-image data based on an image drawing command included in print data, and more particularly to an image forming apparatus that adds a background pattern to an output-image when drawing printout-use image data, an image drawing processing method, a software program for image drawing processing, and a storage medium storing the software program.
2. Description of the Background Art
Recent technical advancements in information apparatuses and systems have enhanced processing and exchanging of image information, as such image information has acquired greater importance. It is against this background that host apparatuses such as personal computers (PC) installed with a printer driver transmit print data to an image forming apparatus such as a printer or a multi-functional machine that form images on recording sheets, of which higher resolution levels and faster processing speeds are increasingly demanded.
The higher resolution levels of image forming apparatuses have emphasized a need for technologies to prevent unauthorized copying of documents. For example, JP-2009-118324-A discloses a technology to draw a specific background pattern over the entire surface of the sheet. With regard to faster processing speeds, performance enhancement of image forming apparatuses is evaluated based largely on the processing time of image forming apparatuses. The processing time required for drawing images can be shortened by employing a hardware accelerator, which can process data for image drawing faster than a software-implemented configuration can do.
When a background pattern is drawn, the background pattern is processed separately from a target output-image (the primary image or main image) with which it is combined later. Because of the processing time required for drawing the background pattern, the total processing time required for drawing images lengthens.
A description is now given of conventional techniques of image drawing processing for the background pattern with reference to FIGS. 1 and 2.
FIG. 1 is a block diagram of an image drawing processing unit of a controller of a conventional printer. In FIG. 1, a host apparatus transmits print data expressed in page description language (PDL) to a printer to print out images, in which the printer includes a controller configured to function by executing one or more software programs. A page description language (PDL) unit 305 is installed to process print data such as PDL data as one function of the controller. A central processing unit (CPU) of the controller can configure the PDL unit 305 as a PDL parser 308 and an image drawing core module 310 by executing one or more software programs. As shown in FIG. 1, the PDL parser 308 includes an image drawing module interface (I/F) 311, an intermediate data storing controller 312, an intermediate data memory 313, an image drawing processing unit 314, an intermediate background pattern data generator 315, an intermediate background pattern data memory 316, and a band memory 317.
The PDL parser 308 analyzes PDL data to obtain image drawing commands. Based on the analysis of image drawing commands, the image drawing module I/F 311 may set separate image drawing processes such as one image drawing process for target output-image and another image drawing process for the background pattern data, in which the image drawing processing for the target output-image and image drawing processing for the background pattern are conducted by implementing one or more software programs.
As shown in FIG. 1, the target output-image prepared by the intermediate data storing controller 312 and the intermediate data memory 313, and the background pattern data prepared by the intermediate background pattern data generator 315 and the intermediate background pattern data memory 316 are processed by a common image drawing processing unit such as the image drawing processing unit 314. Further, the primary image and background pattern data are then combined as printout-use image data by the band memory 317. As such, the CPU of the controller conducts image drawing processing using a single software module set for the controller. Therefore, the total processing speed may not be set to a faster speed because of the limited CPU capabilities and memory capacity of the printer.
In light of such technical problem, as noted above, a hardware accelerator can be used to enhance the processing speed. FIG. 2 is a block diagram of an image drawing processing unit of a controller of another conventional printer employing a hardware accelerator. As shown in FIG. 2, a page description language (PDL) unit 305a is installed that is provided with hardware accelerators such as a red/green/blue hardware accelerator (RGB HWA) 321, and a cyan/magenta/yellow/black (CMYK) converter 322. A central processing unit (CPU) of the controller configures the PDL unit 305a as a PDL parser 308 and an image drawing core module 310a by executing one or more software programs. Except for the hardware accelerators 321 and 322, the controller of FIG. 2 is configured to function similarly to the controller of FIG. 1 by executing or implementing one or more software programs.
The RGB HWA 321 is used for image drawing processing of RGB data having more color gradations, and the CMYK converter 322 is used for image drawing processing of CMYK data having fewer color gradations. In general, a host apparatus such as a personal computer (PC) generates and transmits image data expressed in RGB data such as 24-bit RGB data having more color gradations to a printer or the like, wherein such RGB data retains original data of halftone color (or middle-tone color, intermediate color). When printed as images by the printer, such RGB data is required to be converted to CMYK data having few color gradations because most printers or the like cannot use RGB data having more color gradations.
As shown in FIG. 2, image drawing core module 310a includes the image drawing module I/F 311, an intermediate data storing controller 312a, an intermediate data memory 313a, an image drawing processing unit 314, an intermediate background pattern data generator 315, an intermediate background pattern data memory 316, a band memory 317, and a red/green/blue hardware accelerator (RGB-HWA) controller 318. The RGB-HWA controller 318 controls the RGB HWA 321, which conducts a part of image drawing processing of the target output-image in response to image drawing commands managed by the intermediate data storing controller 312a. The intermediate data storing controller 312a determines which image drawing commands can be processed by the RGB HWA 321 among the image drawing commands provided for the primary image or main image. Those image drawing commands that are determined to be process-able by the RGB HWA 321 are processed by the RGB HWA 321, in which image drawing processing is conducted for RGB data having more color gradations using data stored in the intermediate data memory 313a. The CMYK converter 322 converts data drawn in RGB to image data having fewer color gradations such as CMYK, which is used as printout-use image data. As such, at least a portion of the target output-image can be processed by the hardware accelerators such as RGB HWA 321, and CMYK converter 322.
The prepared target output-image corresponding to the primary image, and the background pattern data prepared by the intermediate background pattern data generator 315 and the intermediate background pattern data memory 316 are processed by a common image drawing processing unit such as the image drawing processing unit 314, which can be configured by implementing one or more software programs. The prepared target output-image and the background pattern data are then combined as printout-use image data using the band memory 317.
As above described, a given hardware accelerator can process a part of image drawing commands for the target output-image, thus shortening the image drawing processing time for preparing the target output-image. However, conventional hardware accelerators cannot be used for image drawing processing for the background pattern.
Typically, unlike CMYK data, the background pattern data is image information having no plane depth information. Therefore, if the background pattern data is to be processed using a hardware accelerator, the background pattern data must first be converted to RGB data having more color gradations and then further converted to CMYK data having few color gradations. Such conversion process delays the total processing speed, resulting in a drop in processing efficiency. Therefore, conventionally, the background pattern data is not processed by the hardware accelerator, but is instead processed by the CPU executing software programs, wherein such processing is not so fast. As such, the enhancement of processing speed for background pattern is difficult to attain.